package service

import (
	"github.com/google/wire"
	pb "shop-demo/api/shop/admin/v1"
	"shop-demo/app/shop/admin/internal/biz"
)

var ProviderSet = wire.NewSet(NewShopService)

type ShopService struct {
	uuc *biz.UserUseCase
	puc *biz.ProductUseCase
	ouc *biz.OrderUseCase
	auc *biz.AuthUseCase
	pb.UnimplementedShopServer
}

func NewShopService(userUseCase *biz.UserUseCase, productUseCase *biz.ProductUseCase, orderUseCase *biz.OrderUseCase, authUseCase *biz.AuthUseCase) *ShopService {
	return &ShopService{
		uuc: userUseCase,
		puc: productUseCase,
		ouc: orderUseCase,
		auc: authUseCase,
	}
}
